Java Bytecode Compression for Embedded Systems
نویسندگان
چکیده
A program executing on an embedded system or similar environment faces limited memory resources and xed time constrains. We demonstrate how factorization of common instruction sequences can be automatically applied to Java bytecode programs. Based on a series of experiments, we argue that program size is reduced by 30% on the average, typically with an execution time penalty of less than 30%. The one-time, minor modiications necessary to make a standard Java interpreter compatible with this factorized code are presented on the Harissa virtual machine, together with an algorithm for performing the factorization of Java bytecode. Compression de bytecode Java pour syst emes embarqu es R esum e : La conception et l'ex ecution d'un programme dans un syst eme embarqu e doit r epondre a des contraintes en taille de m emoire et en temps de r eponse. Dans cet article, nous montrons qu'il est possible de factoriser automatiquement des s equences d'instructions communes pour du code interm ediaire Java. Sur un ensemble de programmes Java repr e-sentatifs, nous avons obtenu un taux moyen de compression de la taille du code interm ediare de 30%, ceci avec un temps d'ex ecution augment e au plus de 30%. L'impl ementation de la factorisation requiert des modiications mineures au sein d'une machine virtuelle Java. Nous d ecrivons ces modiications pour la machine virtuelle d'Harissa et pr esentons un algorithme permettant de factoriser le code interm ediaire.
منابع مشابه
Optimizing Java Bytecode for Embedded Systems
Modern Java Virtual Machines (JVM) for desktop and server computers use just-in-time (JIT) compilation to increase their performance. For embedded Java processors, JIT usually is not feasable. Therefore the java bytecode needs to be optimized for a specific platform ahead-of-time. To generate optimized bytecode for the JOP Java processor several existing tools were compared. In order to impleme...
متن کاملImproving the Java Virtual Machine Using Type-Separated Bytecode
Java Bytecode is currently the most used mobile code representation, although it contains some well-known major flaws. In the paper we introduce the principle operation of type-separated bytecode. Type-separated bytecode is a new intermediate representation that compensates some of the drawbacks introduced by Java Bytecode. In particular the use of type-separated bytecode can considerably speed...
متن کاملResearch on On-card Bytecode Verifier for Java Cards
The bytecode verification is a key point of the security chain of the Java Platform. This feature is optional in many embedded devices since the memory requirements of the verification process and the process capability of hardware are too high. In this paper we propose a verifier that utilizes the logical flow graph based cache policy and an improved non stressing type coding method, for the b...
متن کاملA Space-Aware Bytecode Verifier for Java Cards
The bytecode verification is a key point of the security chain of the Java Platform. However, it is an optional feature in many embedded devices since the memory requirements of the verification process are too high. In this paper we propose a verification algorithm that drastically reduces the memory use by performing the verification during multiple specialized passes. The algorithm reduces t...
متن کاملTitle of Thesis: A RETARGETABLE OPTIMIZING JAVA-TO-C COMPILER FOR EMBEDDED SYSTEMS
Title of Thesis: A RETARGETABLE OPTIMIZING JAVA-TO-C COMPILER FOR EMBEDDED SYSTEMS Ankush Varma, M.S., 2003 Thesis directed by: Professor Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering The Java programming language is achieving greater acceptance in high-end embedded systems such as cellphones and PDAs. However, lowend embedded platforms, such as DSPs or microcontroll...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998